/* normalize.css v1.1.2 | MIT License | git.io/normalize */

html {
  font-size: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

html,
button,
input,
select,
textarea {
  font-family: "Helvetica Neue", Arial, sans-serif;
}

body {
  margin: 0;
}

a:focus {
  outline: thin dotted;
}

a:active,
a:hover {
  outline: 0;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

h2 {
  font-size: 1.5em;
  margin: 0.83em 0;
}

h3 {
  font-size: 1.17em;
  margin: 1em 0;
}

h4 {
  font-size: 1em;
  margin: 1.33em 0;
}

h5 {
  font-size: 0.83em;
  margin: 1.67em 0;
}

h6 {
  font-size: 0.67em;
  margin: 2.33em 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

hr {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

p,
pre {
  margin: 1em 0;
}

code,
kbd,
pre,
samp {
  font-family: Monaco, Consolas, monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: none;
}

q:before,
q:after {
  content: "";
  content: none;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

dl,
menu,
ol,
ul {
  margin: 1em 0;
}

dd {
  margin: 0 0 0 40px;
}

menu,
ol,
ul {
  padding: 0 0 0 40px;
}

nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}

img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}

svg:not(:root) {
  overflow: hidden;
}

form {
  margin: 0;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
  white-space: normal;
  *margin-left: -7px;
}

button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
}

button,
input {
  line-height: normal;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
  *overflow: visible;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
  *height: 13px;
  *width: 13px;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden] {
  display: none;
}

mark {
  background: #ff0;
  color: #666666;
}

figure {
  margin: 0;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
  BOX SIZING
*/

html,
body,
div,
article,
aside,
section,
main,
nav,
footer,
header,
form,
fieldset,
legend,
pre,
code,
a,
h1,h2,h3,h4,h5,h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
blockquote,
figcaption,
figure,
textarea,
table,
td,
th,
tr,
input[type="email"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="text"],
input[type="url"],
.border-box {
  box-sizing: border-box;
}


.container {
  margin-left: auto;
  margin-right: auto;
}

.center {
  margin-right: auto;
  margin-left: auto;
}

.overflow-container {
  overflow-y: scroll;
}

.mr-auto {
  margin-right: auto;
}

.ml-auto {
  margin-left: auto;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.table-row {
  display: table-row;
}

.table-cell {
  display: table-cell;
}

.hidden {
  display: none;
}
.inline-flex {
  display: inline-flex;
}

/*
    POSITIONING
    Docs: http://tachyons.io/docs/layout/position/
    Media Query Extensions:
      -ns = not-small
      -m  = medium
      -l  = large
*/

.static { position: static; }
.relative  { position: relative; }
.absolute  { position: absolute; }
.fixed  { position: fixed; }


/*
    FLOATS
    http://tachyons.io/docs/layout/floats/
    1. Floated elements are automatically rendered as block level elements.
      Setting floats to display inline will fix the double margin bug in
      ie6. You know... just in case.
    2. Don't forget to clearfix your floats with .cf
    Base:
      f = float
    Modifiers:
      l = left
      r = right
      n = none
    Media Query Extensions:
      -ns = not-small
      -m  = medium
      -l  = large
*/

.clearfix:after {
  display: block;
  clear: both;
  content: "";
  visibility: hidden;
  height: 0;
}

.clearfix {
  zoom: 1;
}


.fl {
  float: left;
  _display: inline;
}

.fr {
  float: right;
  _display: inline;
}

.fn {
  float: none;
}


/*
  TEXT ALIGN
  Docs: http://tachyons.io/docs/typography/text-align/
  Base
    t = text-align
  Modifiers
    l = left
    r = right
    c = center
    j = justify
  Media Query Extensions:
    -ns = not-small
    -m  = medium
    -l  = large
*/

.tl  { text-align: left; }
.tr  { text-align: right; }
.tc  { text-align: center; }
.tj  { text-align: justify; }

.v-base {
  vertical-align: baseline;
}

.v-mid {
  vertical-align: middle;
}

.v-top {
  vertical-align: top;
}

.v-btm {
  vertical-align: bottom;
}

.fs-14 {
  font-size: 14px!important;
}

.fs-20 {
  font-size: 20px!important;
}

.txt-elli {
  max-width: 100%;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cursor {
  cursor: pointer;
}


/**
  * Z-INDEX
  */
.z-0	{ z-index: 0; }
.z-10	{ z-index: 10; }
.z-20	{ z-index: 20; }
.z-30	{ z-index: 30; }
.z-40	{ z-index: 40; }
.z-50	{ z-index: 50; }
.z-auto	{ z-index: auto; }

/*
    FONT WEIGHT
    Docs: http://tachyons.io/docs/typography/font-weight/
    Base
      fw = font-weight
    Modifiers:
      1 = literal value 100
      2 = literal value 200
      3 = literal value 300
      4 = literal value 400
      5 = literal value 500
      6 = literal value 600
      7 = literal value 700
      8 = literal value 800
      9 = literal value 900
    Media Query Extensions:
      -ns = not-small
      -m  = medium
      -l  = large
*/

.fnormal { font-weight: normal; }
.fb      { font-weight: bold; }

/*常用间距*/
.mt-3 {
  margin-top: 3px;
}

.mt-5 {
  margin-top: 5px;
}

.mt-10 {
  margin-top: 10px;
}

.mt-15 {
  margin-top: 15px;
}

.mt-20 {
  margin-top: 20px;
}

.mt-30 {
  margin-top: 30px;
}

.mt-50 {
  margin-top: 50px;
}

.mt-60 {
  margin-top: 60px;
}

.mt-70 {
  margin-top: 70px;
}

.mt-80 {
  margin-top: 80px;
}

.mt-100 {
  margin-top: 100px;
}

.ml-2 {
  margin-left: 2px;
}

.ml-3 {
  margin-left: 3px;
}

.ml-5 {
  margin-left: 5px;
}

.ml-10 {
  margin-left: 10px;
}

.ml-15 {
  margin-left: 15px;
}

.ml-20 {
  margin-left: 20px;
}

.ml-30 {
  margin-left: 30px;
}

.ml-50 {
  margin-left: 50px;
}

.ml-60 {
  margin-left: 60px;
}

.ml-80 {
  margin-left: 80px;
}

.ml-100 {
  margin-left: 100px;
}

.ml-120 {
  margin-left: 120px;
}

.ml-140 {
  margin-left: 140px;
}

.ml-150 {
  margin-left: 150px;
}

.mr-5 {
  margin-right: 5px;
}

.mr-10 {
  margin-right: 10px;
}

.mr-20 {
  margin-right: 20px;
}

.mr-30 {
  margin-right: 30px;
}

.mr-50 {
  margin-right: 50px;
}

.mb-10 {
  margin-bottom: 10px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-30 {
  margin-bottom: 30px;
}

.mb-40 {
  margin-bottom: 40px;
}

.mb-50 {
  margin-bottom: 50px;
}

/*负间距*/
.-ml-1 {
  margin-left: -1px;
}
.-ml-2 {
  margin-left: -2px;
}
.-ml-3 {
  margin-left: -3px;
}
.-ml-5 {
  margin-left: -5px;
}
.-ml-10 {
  margin-left: -10px;
}
.-ml-15 {
  margin-left: -15px;
}
.-ml-20 {
  margin-left: -20px;
}
.-ml-1 {
  margin-left: -1px;
}

.-mt-2 {
  margin-top: -2px;
}
.-mt-3 {
  margin-top: -3px;
}
.-mt-5 {
  margin-top: -5px;
}
.-mt-10 {
  margin-top: -10px;
}
.-mt-15 {
  margin-top: -15px;
}
.-mt-20 {
  margin-top: -20px;
}

.pl-2 {
  padding-left: 2px;
}
.pl-3 {
  padding-left: 3px;
}
.pl-5 {
  padding-left: 5px;
}
.pl-10 {
  padding-left: 10px;
}
.pl-15 {
  padding-left: 15px;
}

/*常用宽度*/

.w-third { width: calc(100% / 3); }
.w-two-thirds { width: calc(100% / 1.5); }
.w-auto { width: auto; }

.w-10 {
  width: 50px;
}

.w-50 {
  width: 50px;
}

.w-60 {
  width: 60px;
}

.w-80 {
  width: 80px;
}

.w-100 {
  width: 100px;
}

.w-110 {
  width: 110px;
}

.w-120 {
  width: 120px;
}

.w-130 {
  width: 130px;
}

.w-140 {
  width: 140px
}

.w-145 {
  width: 145px
}

.w-150 {
  width: 150px;
}

.w-170 {
  width: 170px;
}

.w-180 {
  width: 180px;
}

.w-200 {
  width: 200px;
}

.w-250 {
  width: 200px;
}

.w-280 {
  width: 280px;
}
.w-290 {
  width: 290px;
}

.w-300 {
  width: 300px;
}

.w-320 {
  width: 320px;
}

.w-400 {
  width: 400px;
}

.w-420 {
  width: 420px;
}

.w-450 {
  width: 450px;
}


.w-500 {
  width: 500px;
}

/*常用宽度*/
.h-10 {
  height: 10px;
}

.h-20 {
  height: 20px;
}

.h-30 {
  height: 30px;
}

.h-35 {
  height: 35px;
}

.h-38 {
  height: 38px;
}

.h-40 {
  height: 40px;
}

.h-50 {
  height: 50px;
}

.h-80 {
  height: 80px;
}

.h-100 {
  height: 100px;
}

.h-full {
  height: 100%!important;
}


/*
    OPACITY
    Docs: http://tachyons.io/docs/themes/opacity/
*/

.o-100 { opacity: 1;    }
.o-90  { opacity: .9;   }
.o-80  { opacity: .8;   }
.o-70  { opacity: .7;   }
.o-60  { opacity: .6;   }
.o-50  { opacity: .5;   }
.o-40  { opacity: .4;   }
.o-30  { opacity: .3;   }
.o-20  { opacity: .2;   }
.o-10  { opacity: .1;   }
.o-05  { opacity: .05;  }
.o-025 { opacity: .025; }
.o-0   { opacity: 0; }

/*
 *
 */
[hidden],
.hidden { display: none !important; }


.invisible { visibility: hidden !important; }

.z-0 {
  z-index: 0;
}

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.z-3 {
  z-index: 3;
}

.z-4 {
  z-index: 4;
}

.z-5 {
  z-index: 5;
}

.z-999 {
  z-index: 999;
}

.z-9999 {
  z-index: 9999;
}

.z-max {
  z-index: 2147483647;
}

.z-inherit {
  z-index: inherit;
}

.z-initial {
  z-index: initial;
}

.z-unset {
  z-index: unset;
}


.list {
  list-style-type: none;
}

.list-reset {
  list-style: none;
  padding: 0;
}


/*
   TEXT DECORATION
   Docs: http://tachyons.io/docs/typography/text-decoration/
   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large
*/

.strike {
  text-decoration: line-through;
}

.underline {
  text-decoration: underline;
}

.no-underline {
  text-decoration: none;
}

/*
   LINKS
   Docs: http://tachyons.io/docs/elements/links/
*/

.link {
  text-decoration: none;
  transition: color .15s ease-in;
}

.link:link,
.link:visited {
  transition: color .15s ease-in;
}

.link:hover {
  transition: color .15s ease-in;
}

.link:active {
  transition: color .15s ease-in;
}

.link:focus {
  transition: color .15s ease-in;
  outline: 1px dotted currentColor;
}

/* 用于实现链接默认无下划线
hover后有下划线的样式 */
.link-hover {
  text-decoration: none;
}

.link-hover:hover {
  text-decoration: underline;
}

/* 将链接变成默认的文字样式 */
.link-unstyled {
  color: inherit;
  cursor: inherit;
  text-decoration: inherit;
}

link-unstyled:active, 
link-unstyled:focus {
  outline: none;
}

/*
   WHITE SPACE
   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large
*/

.ws-normal {
  white-space: normal;
}

.nowrap {
  white-space: nowrap;
}

.pre {
  white-space: pre;
}

/*
  WORD BREAK
   Base:
     word = word-break
   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large
*/

.word-normal {
  word-break: normal;
}

.word-wrap {
  word-break: break-all;
}

.word-nowrap {
  word-break: keep-all;
}

/*
   FONT WEIGHT
   Docs: http://tachyons.io/docs/typography/font-weight/
   Base
     fw = font-weight
   Modifiers:
     1 = literal value 100
     2 = literal value 200
     3 = literal value 300
     4 = literal value 400
     5 = literal value 500
     6 = literal value 600
     7 = literal value 700
     8 = literal value 800
     9 = literal value 900
   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large
*/

.fnormal {
  font-weight: normal;
}

.fb {
  font-weight: bold;
}

/*
   FONT FAMILY GROUPS
   Docs: http://tachyons.io/docs/typography/font-family/
*/

.sans-serif {
  font-family: -apple-system, BlinkMacSystemFont,
  'avenir next', avenir,
  'helvetica neue', helvetica,
  ubuntu,
  roboto, noto,
  'segoe ui', arial,
  sans-serif;
}

.serif {
  font-family: georgia,
  times,
  serif;
}

.system-sans-serif {
  font-family: sans-serif;
}

.system-serif {
  font-family: serif;
}

/* Monospaced Typefaces (for code) */

/* From http://cssfontstack.com */
code,
.code {
  font-family: Consolas,
  monaco,
  monospace;
}

.courier {
  font-family: 'Courier Next',
  courier,
  monospace;
}

/* Sans-Serif Typefaces */

.helvetica {
  font-family: 'helvetica neue', helvetica,
  sans-serif;
}

.avenir {
  font-family: 'avenir next', avenir,
  sans-serif;
}

/* Serif Typefaces */

.athelas {
  font-family: athelas,
  georgia,
  serif;
}

.georgia {
  font-family: georgia,
  serif;
}

.times {
  font-family: times,
  serif;
}

.bodoni {
  font-family: "Bodoni MT",
  serif;
}

.calisto {
  font-family: "Calisto MT",
  serif;
}

.garamond {
  font-family: garamond,
  serif;
}

.baskerville {
  font-family: baskerville,
  serif;
}

/**
 * tailwindcss
 */
.cursor,
.cursor-pointer {
  cursor: pointer;
}

.cursor-wait {
  cursor: wait;
}

.cursor-move {
  cursor: move;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

/**
 * User Select
 */
.select-none {
  user-select: none;
}

.select-text {
  user-select: text;
}

/**
 * Box Shadows
 */
.shadow {
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.10);
}

.shadow-md {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12),
  0 2px 4px 0 rgba(0, 0, 0, 0.08);
}

.shadow-lg {
  box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.11),
  0 5px 15px 0 rgba(0, 0, 0, 0.08);
}

.shadow-inner {
  box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
}

.shadow-outline {
  box-shadow: 0 0 0 3px rgba(52, 144, 220, 0.5);
}

.shadow-none {
  box-shadow: none
}